package itheima02;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

/*
    BufferedWriter类   高效字符输出缓冲流       写出字符的       写出去
	作用： 内部定义了一个长度为8192的字符数组，可以提高效率

	常用方法：
		public void close(): 关闭流释放资源
		public void write(int ch): 写出一个字符
		public void write(char[] chs): 写出一个字符数组
		public void write(char[] chs,int index,int len): 写出一个字符数组的一部分
			参数:
				char[] chs: 字符数组
				int index: 起始索引
				int len: 写出字符的个数

		public void write(String str): 写出一个字符串

		public void write(String str,int index,int len): 写出一个字符串的一部分
			参数:
				String str: 字符串
				int index: 起始索引
				int len: 写出字符的个数

	构造方法：
		public BufferedWriter(Writer w):
			参数： Writer w 字符输出流抽象类 传递子类FileWriter对象

	使用步骤：
		1.创建Writer类的子类FileWriter对象，绑定目标文件
		2.创建高效字符输出流BufferedWriter对象bw,传递Writer类的子类FileWriter对象
		3.高效字符输出流BufferedWriter对象bw调用write方法,写出字符
		4.关闭流

	注意:
		1.对于缓冲流,千万不要自己调用flush方法
		2.只需要关闭缓冲流,自动关闭缓冲流所关联的其它流对象
		3.特有方法:
			public void newLine() : 写入一个自适应平台的换行符
 */
public class Demo02BufferedWriter {
    public static void main(String[] args) throws IOException{
        //1.创建Writer类的子类FileWriter对象，绑定目标文件
        //FileWriter fw = new FileWriter("day12\\bw.txt");

        //2.创建高效字符输出流BufferedWriter对象bw,传递Writer类的子类FileWriter对象
        //BufferedWriter bw = new BufferedWriter(fw);

        BufferedWriter bw = new BufferedWriter(new FileWriter("day12\\bw.txt"));

        //3.高效字符输出流BufferedWriter对象bw调用write方法,写出字符
        bw.write("好好学习,天天向上");
        //bw.write("\r\n");
        //写入自适应操作系统的换行符
        bw.newLine();

        bw.write("传智播客欢迎您");
        //bw.write("\r\n");

        //写入自适应操作系统的换行符
        bw.newLine();
        bw.write("传智专修学院欢迎您");
        //bw.write("\r\n");
        //写入自适应操作系统的换行符
        //bw.newLine();

        //4.关闭流
        bw.close();
    }
}
